Performance of program modification techniques that ensure serializable executions with snapshot isolation DBMS
نویسندگان
چکیده
Snapshot Isolation (SI) is a multiversion concurrency control that has been implemented by several open source and commercial database systems (Oracle, PostgreSQL, Microsoft SQL Server). The main feature of SI is that a read operation does not block a write operation and vice versa, which allows higher degree of concurrency than traditional two-phase locking. SI prevents many anomalies that appear in other isolation levels, but it still can result in non-serializable executions, in which database integrity constraints can be violated. Several techniques are known to modify the application code in order to ensure that every execution is serializable on engines running SI. Each modification technique introduces some conflicts, and so prevents certain interleavings, without altering the functionality of each application program. In following one of the possible techniques of application modification, there are choices that must be be made, between different conflicts where interleavings are affected. This paper investigates the performance impact of the different techniques, and different choices of modifications, that can ensure that all executions are serializable. We here propose one technique called ’External Lock Manager’ (ELM) which introduces conflicts in a separate lock-manager object rather than through SQL statements in the DBMS. We find that ELM performs well under a range of situations, with peak performance close to SI no matter which conflicts are chosen to be introduced.
منابع مشابه
Ensuring Serializable Executions with Snapshot Isolation DBMS
Snapshot Isolation (SI) is a multiversion concurrency control that has been implemented by open source and commercial database systems such as PostgreSQL and Oracle. The main feature of SI is that a read operation does not block a write operation and vice versa, which allows higher degree of concurrency than traditional two-phase locking. SI prevents many anomalies that appear in other isolatio...
متن کاملSerializable Executions with Snapshot Isolation: Modifying Application Code or Mixing Isolation Levels?
Snapshot Isolation concurrency control (SI) allows substantial performance gains compared to holding commit-duration readlocks, while still avoiding many anomalies such as lost updates or inconsistent reads. However, for some sets of application programs, SI can result in non-serializable execution, in which database integrity constraints can be violated. The literature reports two different ap...
متن کاملSerializable Snapshot Isolation in Shared-Nothing, Distributed Database Management Systems
NoSQL data storage systems provide high scalability and availability in exchange for limited transactional guarantees. In many cases, however, an application cannot give up transactional support but still needs the scalability provided by such systems. One approach for overcoming this limitation is to implement Snapshot Isolation (SI) on top of these systems. SI prevents most non-serializable e...
متن کاملDeclarative Serializable Snapshot Isolation
Snapshot isolation (SI) is a popular concurrency control protocol, but it permits non-serializable schedules that violate database integrity. The Serializable Snapshot Isolation (SSI) protocol ensures (view) serializability by preventing pivot structures in SI schedules. In this paper, we leverage the SSI approach and develop the Declarative Serializable Snapshot Isolation (DSSI) protocol, an S...
متن کاملSnapshot Isolation Anomalies Detection in Software Transactional Memory
Some performance issues of transactional memory are caused by unnecessary abort situations where non serializable and yet non conflicting transactions are scheduled to execute concurrently. Smartly relaxing the isolation properties of transactions may overcome these issues and attain considerable performance improvements. However, it is known that relaxing isolation restrictions may lead to run...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Inf. Syst.
دوره 40 شماره
صفحات -
تاریخ انتشار 2014